<?php
	
/*
 * Modelo: "proveedores.php"
 *
 * Realizado por:
 * 	Carlos Calvo.
 */
 
	@include_once('sybasebd.php');
	@include_once('auditoria.php');
	
	class Proveedores {
					
		// Variables del Modelo
		var $id_proveedor;
		var $id_tipo_proveedor;
		var $rif;
		var $razon_social;
		var $domicilio;
		var $telefono;
		var $celular;
		var $cedula;
		var $nombre;
		var $apellido;		
		var $descripcion;
		var $fecha_registro;						
		var $respuesta;
		
		
		//	FUNCION - VERIFICAR PROVEEDOR
		// =================================================================================================================
		function verificar_proveedor( $id_proveedor ) {		
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "select id_proveedor as id_proveedor 
					from proveedor 
					where id_proveedor = ".$id_proveedor;
						
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar el Proveedor.");
			$this->respuesta = $conexion->fetch_array_BD();
			
			$conexion->desconectar_BD;			
			if ( $this->respuesta[id_proveedor] != "" ) {				
				return false;					// Si Existe
			} else {		
				return true;					// Si no Existe
			}
		}
		
		
		//	FUNCION - INSERTAR PROVEEDOR
		// =================================================================================================================
		
		function insertar( $id_proveedor, $id_tipo_proveedor, $rif, $razon_social, $domicilio, $telefono, $celular, $cedula, $nombre, $apellido, $descripcion, $fecha_registro ) {			
			$ocurrencia = $this->verificar_proveedor( $id_proveedor );
			
			if ( $ocurrencia == true ) {						
				$conexion = new Sybasebd;
				$var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
							
				$sql = "insert into proveedor (id_proveedor, id_tipo_proveedor, rif, razon_social, domicilio, telefono, celular, cedula, nombre, apellido, descripcion, fecha_registro) values (";
				
				$sql = $sql.$id_proveedor.", ";
				$sql = $sql.$id_tipo_proveedor.", ";
				$sql = $sql."'".strtoupper($rif)."', "; 
				$sql = $sql."'".strtoupper($razon_social)."', ";
				$sql = $sql."'".strtoupper($domicilio)."', "; 
				$sql = $sql."'".strtoupper($telefono)."', "; 
				$sql = $sql."'".strtoupper($celular)."', "; 
				$sql = $sql.$cedula.", ";
				$sql = $sql."'".strtoupper($nombre)."', "; 
				$sql = $sql."'".strtoupper($apellido)."', ";
				$sql = $sql."'".strtoupper($descripcion)."', "; 
				$sql = $sql."'".$fecha_registro."')";
										
				echo "<br>SQL: ".$sql."<br>";
				$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo agregar el Proveedor ".$razon_social.".");
												
				// Registro de Auditoria
				$auditoria 	= new Auditorias;
				$this->respuesta = $auditoria->insertar( $_SESSION['nombre_usuario'],  "26" );
							
				$conexion->desconectar_BD;												
				return true;
			} else {
				return false;
			}
		}
		
		
		//	FUNCION - MODIFICAR PROVEEDOR
		// =================================================================================================================
				
		function modificar( $id_proveedor, $id_tipo_proveedor, $domicilio, $telefono, $celular, $cedula, $nombre, $apellido, $descripcion ) {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "update proveedor set 
						id_tipo_proveedor = ".$id_tipo_proveedor.", 
						domicilio = '".strtoupper($domicilio)."',
						telefono = '".strtoupper($telefono)."', 
						celular = '".strtoupper($celular)."',
						cedula = ".$cedula.", 
						nombre = '".strtoupper($nombre)."', 
						apellido = '".strtoupper($apellido)."',
						descripcion = '".strtoupper($descripcion)."' 
					where id_proveedor = ".$id_proveedor;
						
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo modificar el Proveedor ".$id_proveedor.".");
			
			// Registro de Auditoria
			$auditoria 	= new Auditorias;
			$this->respuesta = $auditoria->insertar( $_SESSION['nombre_usuario'],  "27" );
						
			$conexion->desconectar_BD;			
			return true;
		}
		
		
		//	FUNCION - CONSULTAR TODOS LOS PROVEEDORES
		// =================================================================================================================
		
		function consultar( $id_tipo_proveedor ) {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "select p.id_proveedor as id_proveedor,
						p.id_tipo_proveedor as id_tipo_proveedor,
						tp.nombre as nombre_tipo_proveedor,
						p.rif as rif,
						p.razon_social as razon_social,
						p.domicilio as domicilio,
						p.telefono as telefono, 
						p.celular as celular,
						p.cedula as cedula, 
						p.nombre as nombre,
						p.apellido as apellido,
						p.descripcion as descripcion, 
						p.fecha_registro as fecha_registro 
					from proveedor as p,
						tipo_proveedor as tp
					where ";
			
			if ( $id_tipo_proveedor != "T" ) {
			$sql = $sql."p.id_tipo_proveedor = ".$id_tipo_proveedor." and ";
			}	
			$sql = $sql."p.id_tipo_proveedor = tp.id_tipo_proveedor 
					order by id_proveedor";
														
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar los Proveedores.");			
			$i = 0;
			while ( $this->respuesta = $conexion->fetch_array_BD() ) {
				$lista_proveedores[$i][0] = $this->respuesta[id_proveedor];
				$lista_proveedores[$i][1] = $this->respuesta[id_tipo_proveedor];	
				$lista_proveedores[$i][2] = $this->respuesta[nombre_tipo_proveedor];
				$lista_proveedores[$i][3] = $this->respuesta[rif];
				$lista_proveedores[$i][4] = $this->respuesta[razon_social];	
				$lista_proveedores[$i][5] = $this->respuesta[domicilio];
				$lista_proveedores[$i][6] = $this->respuesta[telefono];	
				$lista_proveedores[$i][7] = $this->respuesta[celular];
				$lista_proveedores[$i][8] = $this->respuesta[cedula];
				$lista_proveedores[$i][9] = $this->respuesta[nombre];
				$lista_proveedores[$i][10] = $this->respuesta[apellido];
				$lista_proveedores[$i][11] = $this->respuesta[descripcion];	
				$lista_proveedores[$i][12] = $this->respuesta[fecha_registro];		
				$i++;
			}
			
			// Registro de Auditoria
			$auditoria 	= new Auditorias;
			$this->respuesta = $auditoria->insertar( $_SESSION['nombre_usuario'],  "28" );
			
			$conexion->desconectar_BD;
			return $lista_proveedores;
		}
		
		
		//	FUNCION - ELIMINAR UN PROVEEDOR
		// =================================================================================================================
				
		function eliminar( $id_proveedor ) {			
			$conexion = new Sybasebd;
			$var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "delete from proveedor
					where id_proveedor = ".$id_proveedor;
															
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo Eliminar el Proveedor ".$id_proveedor.".");
			
			// Registro de Auditoria
			$auditoria 	= new Auditorias;
			$this->respuesta = $auditoria->insertar( $_SESSION['nombre_usuario'],  "29" );
			
			$conexion->desconectar_BD;		
			return true;
		}
		
		
		//	FUNCION - CONSULTAR UN PROVEEDOR
		// =================================================================================================================
		
		function consultar_proveedor( $id_proveedor ) {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
									
			$sql = "select p.id_proveedor as id_proveedor, 
						p.id_tipo_proveedor as id_tipo_proveedor, 
						tp.nombre as nombre_tipo_proveedor, 
						p.rif as rif, 
						p.razon_social as razon_social, 
						p.domicilio as domicilio, 
						p.telefono as telefono, 
						p.celular as celular, 
						p.cedula as cedula, 
						p.nombre as nombre, 
						p.apellido as apellido, 
						p.descripcion as descripcion, 
						p.fecha_registro as fecha_registro 
					from proveedor as p, 
						tipo_proveedor as tp 
					where id_proveedor = ".$id_proveedor;
						
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar el Proveedor ".$id_proveedor.".");			
			$this->respuesta = $conexion->fetch_array_BD();
				$info_proveedor[0] = $this->respuesta[id_proveedor];
				$info_proveedor[1] = $this->respuesta[id_tipo_proveedor];	
				$info_proveedor[2] = $this->respuesta[nombre_tipo_proveedor];
				$info_proveedor[3] = $this->respuesta[rif];
				$info_proveedor[4] = $this->respuesta[razon_social];
				$info_proveedor[5] = $this->respuesta[domicilio];
				$info_proveedor[6] = $this->respuesta[telefono];	
				$info_proveedor[7] = $this->respuesta[celular];
				$info_proveedor[8] = $this->respuesta[cedula];
				$info_proveedor[9] = $this->respuesta[nombre];
				$info_proveedor[10] = $this->respuesta[apellido];
				$info_proveedor[11] = $this->respuesta[descripcion];	
				$info_proveedor[12] = $this->respuesta[fecha_registro];
			
			$conexion->desconectar_BD;			
			return $info_proveedor;
		}
		
		
		//	FUNCION - CONSULTAR ID_PROVEEDORES
		// =================================================================================================================
		
		function consultar_id_proveedores() {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "select id_proveedor as id_proveedor, 
						razon_social as razon_social
					from proveedor
					order by razon_social";
									
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar los Id_proveedores de los Proveedores.");			
			$i = 0;
			while ( $this->respuesta = $conexion->fetch_array_BD() ) {
				$lista_id_proveedores[$i][0] = $this->respuesta[id_proveedor];	
				$lista_id_proveedores[$i][1] = $this->respuesta[razon_social];		
				$i++;
			}
			
			$conexion->desconectar_BD;
			return $lista_id_proveedores;
		}
		
		
		//	FUNCION - CONSULTAR PROVEEDORES PARA ELIMINAR
		// =================================================================================================================
		
		function consultar_eliminar() {			
			$conexion = new Sybasebd;
            $var = $conexion->conexion_BD($_SESSION['manejador_bd'],$_SESSION['usuario_bd'],$_SESSION['password_bd'],$_SESSION['base_de_datos'],$_SESSION['rol_bd']);
			
			$sql = "select id_proveedor as id_proveedor, 
						razon_social as razon_social 
					from proveedor 
					where id_proveedor not in ( 
							select id_proveedor 
							from historico_proveedor
							where cantidad != 0 ) ";
						
			//echo "<br>SQL: ".$sql."<br>";
			$this->respuesta = $conexion->consulta_BD($sql) or die("No se pudo consultar los Proveedores para Eliminar.");			
			$i = 0;
			while ( $this->respuesta = $conexion->fetch_array_BD() ) {
				$lista_eliminar[$i][1] = $this->respuesta[id_proveedor];
				$lista_eliminar[$i][2] = $this->respuesta[razon_social];		
				$i++;
			}				
			
			$conexion->desconectar_BD;			
			return $lista_eliminar;
		}		
	}
?>